home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / nrpas13.arc / GAMMLN.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-01  |  574b  |  28 lines

  1. FUNCTION gammln(xx: real): real;
  2. CONST
  3.    stp = 2.50662827465;
  4.    half = 0.5;
  5.    one = 1.0;
  6.    fpf = 5.5;
  7. VAR
  8.    x,tmp,ser: double;
  9.    j: integer;
  10.    cof: ARRAY [1..6] OF double;
  11. BEGIN
  12.    cof[1] := 76.18009173;
  13.    cof[2] := -86.50532033;
  14.    cof[3] := 24.01409822;
  15.    cof[4] := -1.231739516;
  16.    cof[5] := 0.120858003e-2;
  17.    cof[6] := -0.536382e-5;
  18.    x := xx-one;
  19.    tmp := x+fpf;
  20.    tmp := (x+half)*ln(tmp)-tmp;
  21.    ser := one;
  22.    FOR j := 1 TO 6 DO BEGIN
  23.       x := x+one;
  24.       ser := ser+cof[j]/x
  25.    END;
  26.    gammln := sngl(tmp+ln(stp*ser))
  27. END;
  28.